A trend in infra-red (IR) remote controls for consumer electronics is the multi-brand universal remote control handunit which controls any one of a number of consumer electronics products manufactured by different manufacturers, and utilizing respective different remote control signal code formats. Universal remote control handunits provide the user with the convenience of using only one remote control handunit, while being able to control most if not all of the functions of the consumer electronics products.
To a large degree, the number of different functions and different remote control command signal formats that can be handled by a universal remote control is dependent upon the amount of memory available for IR code storage.
There are two basic approaches to universal remote control handunits. A volatile memory (RAM) based system is often described as a "learning" remote control handunit. This type of remote control handunit requires the user to "teach" the remote control handunit desired functions from his original handunit. This is usually done by switching the "learning" remote control handunit to a "learning mode", and physically orienting the two handunits such that the "learning" remote control handunit can receive the IR transmissions of the handunit to be emulated. This learning process begins as an information storage process, wherein an IR transmission is recorded as it is being received by the learning remote control. After this initial storage of the "raw" data, the raw data is analyzed and compressed, and then the final compressed version of the data is stored. When the universal remote control handunit is used in the remote control mode to transmit a command, the stored, compressed codes are recalled from memory, decompressed and the resulting signal is transmitted.
A nonvolatile memory (ROM) based system is restricted to a fixed set of devices, usually television receivers (TVs), videocassette recorders (VCRs), and Cable Converters. In such a handunit, all of the different code formats for all of the functions of each type of device to be controlled must be programmed beforehand, and these functions are usually compressed in some manner to occupy as little memory space as possible.
With each technique, since memory space is limited, the more efficient the compression technique used is, the more functions can be stored.
A principal of compression techniques is the identification of common features of IR code formats.
An example of IR data compression is disclosed in U.S. Pat. No. 4,623,887 (Welles II), for use, for example, in a RAM based system. Welles II observed many similarities in various IR formats, and discloses a data compression method employing the classification of a number of characteristics, including duration of carrier "burst", the duration of "spaces" between carrier bursts, and the time between repetitions of transmission information. U.S. patent application Ser. No. 941,468 (Sogame) filed Dec. 15, 1986 discloses a system which further compresses the compressed data produced according to Welles II, by classifying "burst" and "space" pairs into "bin pairs".